CREATE TRIGGER :定义一个新触发器
CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] }
ON table_name
[ FROM referenced_table_name ]
[ NOT DEFERRABLE | [ DEFERRABLE ] [ INITIALLY IMMEDIATE | INITIALLY DEFERRED ] ]
[ REFERENCING { { OLD | NEW } TABLE [ AS ] transition_relation_name } [ ... ] ]
[ FOR [ EACH ] { ROW | STATEMENT } ]
[ WHEN ( condition ) ]
EXECUTE { FUNCTION | PROCEDURE } function_name ( arguments )
注意:这里的event包含以下,如果包含多个,以or连接:INSERT UPDATE DELETE TRUNCATE
举实例:
创建触发器函数:
CREATE FUNCTION update_kpi_for_path_depth_trigger_fun()
returns trigger as $$
begin
//实现函数处理逻辑
RETURN NULL; -- 返回值是必须的
end;
$$
language plpgsql;
创建触发器:基于表和列创建触发器
CREATE TRIGGER 触发器名称
after insert or update on 表名
for each row execute procedure 函数名(例如:update_kpi_for_path_depth_trigger_fun());